Pidgin (software)
Pidgin (formerly named Gaim) is an open-source multi-platform instant messaging client, based on a library named libpurple. Libpurple has support for many commonly used instant messaging protocols, allowing the user to log into various services from one application.
The number of Pidgin users was estimated to be over 3 million in 2007.[1]
Features
Pidgin provides a graphical front-end for libpurple using GTK+.[2] Libpurple supports multiple instant-messaging protocols.
Pidgin supports multiple operating systems, including Windows as well as many Unix-like systems such as Linux, BSD, Mac OS X, and AmigaOS (through the X11 engine). It has built-in support for NSS, offering client-to-server message encryption for protocols that support it. The program is extendable through plugins, including "Off-the-Record Messaging" and Pidgin encryption,[3] providing end-to-end message encryption.
Pidgin features some of the standard tools for an instant-messaging client, such as a contact list, file transfer on supported protocols, and conversation and chat logging. Tabbed conversations is an optional feature on Pidgin. The IM window consists of the message window, formatting tools, and an edit box.
Users can add contacts (usually known as "Buddies") in the "Buddy List" window or in the IM window. As a client that supports IRC and other chat programs, Pidgin can also add different IRC channels and IM Chats. Contacts with multiple protocols can be grouped into one single contact instead of managing multiple protocols, and contacts can be given aliases or placed into groups.
To reach users as they log on or a status change occurs (such as moving from "Away" to "Available"), Pidgin supports on-action automated scripts called Buddy Pounces to automatically reach the user in customizable ways.
Pidgin supports some file transfers, with the ability to cancel transfers and observe multiple transfers in a separate window, while lacking some protocol-specific features like the folder sharing available from Yahoo. Older versions of Pidgin did not support direct, peer-to-peer file transfers over the MSN protocol and instead relayed file transfers over a slower connection via the MSN servers however direct connection support has been added since Pidgin 2.7.
As of version 2.6 (released on August 18, 2009) Pidgin has a voice/video framework which uses Farsight2 and is based on Mike Ruprecht's Google Summer of Code project from 2008.[4] That release provides the ability to have voice/video conversations using the XMPP protocol (including Google Talk), though the implementation is not yet fully complete. The framework will also allow for voice/video conversations on other protocols, such as MSN and Yahoo, in the future.[5]
Further features include support for themes, emoticons, spell checking, and notification area integration.[6]
Supported protocols
The following protocols are officially supported by libpurple 2.9.0, without any extensions or plugins:[7]
Some XMPP servers provide transports, which allow users to access networks using non-XMPP protocols without having to install plugins or additional software. Pidgin's support for XMPP means that these transports can be used to communicate via otherwise unsupported protocols, including not only instant messaging protocols, but also protocols such as SMS or E-mail.
Additional protocols, supported by third-party plugins, include QQ,[8] Skype,[9] and the Xfire gaming network (requires the Gfire plugin).[10]
Plugins
Various other features are supported using third-party plugins.[11] Such features include:
- Encryption and privacy, through Off-the-Record Messaging (OTR)
- Notifications (such as showing "toaster" popups or Snarl notifications, or lighting LEDs on laptops)
- Showing contacts what you are listening to in various media players
- Adding mathematical formulas written in LaTeX to conversations
- Watching videos directly into your conversation when receiving a video sharing website link (YouTube, Vimeo)
History
The program was originally written by Mark Spencer, an Auburn University sophomore, as an emulation of AOL's IM program AOL Instant Messenger on Linux using the GTK+ toolkit.[12] The earliest archived release was on December 31, 1998.[13] It was named GAIM (GTK+ AOL Instant Messenger) accordingly. The emulation was not based on reverse engineering, but instead relied on information about the protocol that AOL had published on the web; development was also assisted by some of AOL's technical staff.[12][14] Support for other IM protocols was added soon thereafter.[12]
Naming dispute
In response to pressure from AOL, the program was renamed to the acronymous-but-lowercase gaim. As AOL Instant Messenger gained popularity, AOL trademarked its acronym, "AIM", leading to a lengthy legal struggle with the creators of GAIM, who kept the matter largely secret.[15]
On April 6, 2007, the project development team announced the results of their settlement with AOL, which included a series of name changes: Gaim became Pidgin, libgaim became libpurple, and gaim-text became finch. The name Pidgin was chosen in reference to the term "pidgin", which describes communication between people who do not share a common language.[16] The name "purple" refers to "prpl", the internal libgaim name for an IM protocol plugin.
Due to the legal issues, version 2.0 of the software was frozen in beta stages. Following the settlement, it was announced that the first official release of Pidgin 2.0.0 was hoped to occur during the two weeks from April 8, 2007.[17] However, Pidgin 2.0 was not released as scheduled; Pidgin developers announced on April 22, 2007 that the delay was due to the preferences directory ".gaim".[18]
Pidgin 2.0.0 was released on May 3, 2007. Other visual changes were made to the interface on 2.0.0, including updated icons.[19]
Criticisms
- Passwords are stored in a plaintext file. This password file is readable by anyone who has physical access to the computer, access to the user or administrative accounts, or (potentially) to anyone who is able to exploit security vulnerabilities on that computer. The developers recognize this as a security concern, but believe that the requirements of Pidgin (and the nature of instant messaging) make it infeasible to encrypt the password file, though they have said that they welcome solutions to integrate Pidgin with application-level security solutions.[20]
- Pidgin does not currently support resuming paused or incomplete file transfers in any of the applicable chat protocols.[21][22][23]
- As of version 2.4 and later, the ability to manually resize the text input box of conversations has been altered—Pidgin now automatically resizes between a number of lines set in 'Preferences' and 50% of the window depending on how much is typed. Some users find this an annoyance rather than a feature and find this solution unacceptable. The inability to manually resize the input area eventually led to a fork, Carrier (originally named Funpidgin).[24][25][26]
- Pidgin does not allow disabling the group sorting on the contact list.[27]
Other notable software based on libpurple
- Adium and Proteus are instant messaging clients for Mac OS X that support multiple protocols through libpurple.
- Meebo is a multi-protocol web-based instant messaging client that uses libpurple.[28]
- Empathy is a multi-protocol instant messaging client which uses libpurple—via the Telepathy framework—for some of its protocol support.
- QuteCom is a open-source, natively cross-platform, multi-protocol IM and VoIP phone with encryption and video calls
- BitlBee and Minbif are IRCd-like gateways to multiple IM networks, and can be compiled with libpurple to increase functionality.
- Instantbird is a multi-protocol desktop messaging client based on Mozilla's Gecko engine.
See also
References
- ^ "Luke Schierer discusses Pidgin, Open source and life". PC World Australia, 10 October 2007.
- ^ "What Is Libpurple - Pidgin - Trac". Pidgin.im. http://developer.pidgin.im/wiki/WhatIsLibpurple. Retrieved 2009-03-22.
- ^ "Pidgin-Encryption". Sourceforge.
- ^ "Changelog". pidgin.im. http://developer.pidgin.im/wiki/ChangeLog. Retrieved 2009-08-22.
- ^ "Voice and Video". pidgin.im. http://developer.pidgin.im/wiki/vv. Retrieved 2009-08-22.
- ^ "About Pidgin". pidgin.im. http://www.pidgin.im/about/. Retrieved 2010-09-22.
- ^ Pidgin developers. "Protocol Specific Questions". pidgin.im. http://developer.pidgin.im/wiki/Protocol%20Specific%20Questions. Retrieved 2011-06-30.
- ^ "libqq". code.google.com. http://code.google.com/p/libqq-pidgin/. Retrieved 2011-06-14.
- ^ "Skype "API Plugin for Pidgin/libpurple/Adium"". RobbMob.com. http://eion.robbmob.com. Retrieved 2009-07-06.
- ^ "Third Party Plugins". pidgin.im. http://developer.pidgin.im/wiki/ThirdPartyPlugins#AdditionalProtocols. Retrieved 2009-03-02.
- ^ "Pidgin Third-Party Plugins". pidgin.im. http://developer.pidgin.im/wiki/ThirdPartyPlugins. Retrieved 2009-09-22.
- ^ a b c Herper, Matthew (July 16, 2002). "Better Instant Messaging Through Linux" Forbes.com.
- ^ Crawford, J. (1999). "User Guide". marko.net. Archived from the original on 1999-05-08. http://web.archive.org/web/19990508005552/http://www.marko.net/gaim/uguide.html. Retrieved 2011-10-15. "As of now, the most recent sources are here (the file date is 1998-12-31)"
- ^ Spencer, Mark (1998). "GAIM: GTK+ America OnLine Instant Messenger". Original project home page. marko.net. Archived from the original on February 10, 1999. http://web.archive.org/web/19990210175349/http://www.marko.net/gaim/.
- ^ "Sean Egan's Blog - The Power of Momentum (continued)". pidgin.im. May 23, 2007.
- ^ "Important and Long Delayed News". pidgin.im. April 6, 2007. Archived from the original on 2007-04-08. http://web.archive.org/web/20070408150853/http://www.pidgin.im/index.php?id=177. Retrieved 2011-10-15.
- ^ "Important and Long Delayed News". pidgin.im. April 6, 2007. Archived from the original on 2007-04-08. http://web.archive.org/web/20070408150853/http://www.pidgin.im/index.php?id=177. Retrieved 2011-10-15. "Now that the settlement is signed, we hope to have the final Pidgin 2.0.0 release late this week or early next."
- ^ "Working towards 2.0.0". pidgin.im. April 22, 2007. Archived from the original on 2007-04-25. http://web.archive.org/web/20070425193748/http://pidgin.im/index.php?id=178. Retrieved 2007-04-22.
- ^ Egan, Sean (April 30, 2007). "Identity vs. Account Orientation". pidgin.im. http://pidgin.im/~seanegan/blog/identity.html. Retrieved 2007-05-01.
- ^ "Plain Text Passwords". pidgin.im. August 26, 2010 (last modified). http://developer.pidgin.im/wiki/PlainTextPasswords. Retrieved 2011-10-15.
- ^ "Ticket #5769 (new enhancement) - Resume broken file transfers". pidgin.im. May 11, 2008. http://developer.pidgin.im/ticket/5769. Retrieved 2011-10-15.
- ^ "Ticket #7486 (closed enhancement: duplicate) - xdcc download-resuming-support". November 7, 2008. http://developer.pidgin.im/ticket/7486. Retrieved 2008-12-30.
- ^ "Ticket #1425 (new enhancement)- No ability to resume in IRC file transfers". pidgin.im. May 30, 2007. http://developer.pidgin.im/ticket/1425. Retrieved 2008-12-30.
- ^ "Ticket #4986 (closed enhancement: wontfix) - automatic chat input field resizing should be optional, regression from 2.3". pidgin.im. March 1, 2008. http://developer.pidgin.im/ticket/4986. Retrieved 2008-03-08.
- ^ Adams, Paul (April 22, 2008). "In Response to User Demand, Pidgin Forks". Wired.com. Archived from the original on 2008-05-19. http://web.archive.org/web/20080519204346/http://blog.wired.com/monkeybites/2008/04/in-response-to.html.
- ^ Malda, Rob (April 30, 2008). "Pidgin Controversy Triggers Fork". Slashdot.
- ^ "#10508: turning on and off groups". nabble.com. http://old.nabble.com/-10508:-turning-on-and-off-groups-td25878841.html. Retrieved 2010-10-20.
- ^ "meebo from the backside". meebo.com. July 15, 2008. http://blog.meebo.com/?p=464. Retrieved 2008-10-03.
External links
|
|
General topics
|
|
Common terms |
|
|
Lists and comparisons |
|
|
Related protocols |
|
|
See also |
|
|
|
|
|
|
|
Bouncers, Gateways and Proxies
|
|
|
|
|
|
|
|
|